package com.haixiaoke.saas.contract.mapper;

import com.haixiaoke.saas.contract.domain.ContractFacilitiesItem;

import java.util.List;

/**
 * 租客合同房屋设施价格Mapper接口
 * 
 * @author panda
 * @date 2024-06-20
 */
public interface ContractFacilitiesItemMapper {
    /**
     * 查询租客合同房屋设施价格
     * 
     * @param facilitiesItemId 租客合同房屋设施价格主键
     * @return 租客合同房屋设施价格
     */
    ContractFacilitiesItem selectContractFacilitiesItemByFacilitiesItemId(Long facilitiesItemId);

    /**
     * 查询租客合同房屋设施价格列表
     * 
     * @param contractFacilitiesItem 租客合同房屋设施价格
     * @return 租客合同房屋设施价格集合
     */
    List<ContractFacilitiesItem> selectContractFacilitiesItemList(ContractFacilitiesItem contractFacilitiesItem);

    /**
     * 新增租客合同房屋设施价格
     * 
     * @param contractFacilitiesItem 租客合同房屋设施价格
     * @return 结果
     */
    int insertContractFacilitiesItem(ContractFacilitiesItem contractFacilitiesItem);

    /**
     * 修改租客合同房屋设施价格
     * 
     * @param contractFacilitiesItem 租客合同房屋设施价格
     * @return 结果
     */
    int updateContractFacilitiesItem(ContractFacilitiesItem contractFacilitiesItem);

    /**
     * 删除租客合同房屋设施价格
     * 
     * @param facilitiesItemId 租客合同房屋设施价格主键
     * @return 结果
     */
    int deleteContractFacilitiesItemByFacilitiesItemId(Long facilitiesItemId);

    /**
     * 批量删除租客合同房屋设施价格
     * 
     * @param facilitiesItemIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteContractFacilitiesItemByFacilitiesItemIds(Long[] facilitiesItemIds);

    int insertBatchFacilitiesItem(List<ContractFacilitiesItem> contractFacilitiesItemList);

    /**
     * 根据合同id查询房屋设施
     * @param lesseeContractId
     * @return
     */
    List<ContractFacilitiesItem> selectContractFacilitiesItemByContractId(String lesseeContractId);
}
